﻿using System;
using System.Collections.Generic;
using System.Data;
using System.Data.SqlClient;
using System.Linq;
using System.Text;

namespace AcademiaInteligenteData.DAL
{
    class DaoAcademia : DaoConnection
    {
        public void InserirAcademia(Academia academia)
        {
            string inserirAcademia = "ai_sp_inserirAcademia";
            List<SqlParameter> parametros = new List<SqlParameter>();

            parametros.Add(new SqlParameter("@id", academia.Id));
            parametros[0].Direction = System.Data.ParameterDirection.InputOutput;
            parametros.Add(new SqlParameter("@razao_social", academia.RazaoSocial));
            parametros.Add(new SqlParameter("@fantasia", academia.Fantasia));
            parametros.Add(new SqlParameter("@cnpj", academia.Cnpj));
            parametros.Add(new SqlParameter("@cep", academia.Cep));
            parametros.Add(new SqlParameter("@endereco", academia.Endereco));
            parametros.Add(new SqlParameter("@numero", academia.Numero));
            parametros.Add(new SqlParameter("@complemento", academia.Complemento));
            parametros.Add(new SqlParameter("@bairro", academia.Bairro));
            parametros.Add(new SqlParameter("@cidade", academia.Cidade));
            parametros.Add(new SqlParameter("@estado", academia.Estado));
            Executar(inserirAcademia, true, parametros);
            academia.Id = Convert.ToInt32(parametros[0].Value);
        }
        public void AlterarAcademia(Academia academia)
        {
            string alterarAcademia = "ai_sp_alterarAcademia";
            List<SqlParameter> parametros = new List<SqlParameter>();

            parametros.Add(new SqlParameter("@id", academia.Id));
            parametros.Add(new SqlParameter("@razao_social", academia.RazaoSocial));
            parametros.Add(new SqlParameter("@fantasia", academia.Fantasia));
            parametros.Add(new SqlParameter("@cnpj", academia.Cnpj));
            parametros.Add(new SqlParameter("@cep", academia.Cep));
            parametros.Add(new SqlParameter("@endereco", academia.Endereco));
            parametros.Add(new SqlParameter("@numero", academia.Numero));
            parametros.Add(new SqlParameter("@complemento", academia.Complemento));
            parametros.Add(new SqlParameter("@bairro", academia.Bairro));
            parametros.Add(new SqlParameter("@cidade", academia.Cidade));
            parametros.Add(new SqlParameter("@estado", academia.Estado));
            Executar(alterarAcademia, true, parametros);
        }
        public void ExcluirAcademiaPorID(int id)
        {
            string excluirAcademia = "ai_sp_excluirAcademia";
            List<SqlParameter> parametros = new List<SqlParameter>();
            parametros.Add(new SqlParameter("@id", id));
            Executar(excluirAcademia, true, parametros);
        }
        public Academia SelecionarAcademiaPorID(int id)
        {
            string selecionaAcademia = "ai_sp_selecionarAcademia";
            List<SqlParameter> parametros = new List<SqlParameter>();
            parametros.Add(new SqlParameter("@id", id));
            DataSet reader = Selecionar(selecionaAcademia, true, parametros);
            int i = 0;
            Academia academia = new Academia();
            academia.RazaoSocial = Convert.ToString(reader.Tables[0].Rows[i]["razao_social"]);
            academia.Fantasia = Convert.ToString(reader.Tables[0].Rows[i]["fantasia"]);
            academia.Cnpj = Convert.ToString(reader.Tables[0].Rows[i]["cnpj"]);
            academia.Cep = Convert.ToString(reader.Tables[0].Rows[i]["cep"]);
            academia.Endereco = Convert.ToString(reader.Tables[0].Rows[i]["endereco"]);
            academia.Numero = Convert.ToString(reader.Tables[0].Rows[i]["numero"]);
            academia.Complemento = Convert.ToString(reader.Tables[0].Rows[i]["complemento"]);
            academia.Bairro = Convert.ToString(reader.Tables[0].Rows[i]["bairro"]);
            academia.Cidade = Convert.ToString(reader.Tables[0].Rows[i]["cidade"]);
            academia.Estado = Convert.ToString(reader.Tables[0].Rows[i]["estado"]);
            academia.Id = id;
            return academia;
        }
        public List<Academia> SelecionarAcademias()
        {
            string selecionaAcademia = "ai_sp_listarAcademia";
            List<SqlParameter> parametros = new List<SqlParameter>();
            DataSet reader = Selecionar(selecionaAcademia, true, parametros);
            List<Academia> academias = new List<Academia>();
            for (int i = 0; i < reader.Tables[0].Rows.Count; i++)
            {
                Academia academia = new Academia();
                academia.RazaoSocial = Convert.ToString(reader.Tables[0].Rows[i]["razao_social"]);
                academia.Fantasia = Convert.ToString(reader.Tables[0].Rows[i]["fantasia"]);
                academia.Cnpj = Convert.ToString(reader.Tables[0].Rows[i]["cnpj"]);
                academia.Cep = Convert.ToString(reader.Tables[0].Rows[i]["cep"]);
                academia.Endereco = Convert.ToString(reader.Tables[0].Rows[i]["endereco"]);
                academia.Numero = Convert.ToString(reader.Tables[0].Rows[i]["numero"]);
                academia.Complemento = Convert.ToString(reader.Tables[0].Rows[i]["complemento"]);
                academia.Bairro = Convert.ToString(reader.Tables[0].Rows[i]["bairro"]);
                academia.Cidade = Convert.ToString(reader.Tables[0].Rows[i]["cidade"]);
                academia.Estado = Convert.ToString(reader.Tables[0].Rows[i]["estado"]);
                academia.Id = Convert.ToInt32(reader.Tables[0].Rows[i]["id"]);
                academias.Add(academia);
            }
            return academias;
        }
    }
}
